ในรูบี การเรียกใช้เมธอดไม่ใช่การกระโดดแบบคงที่ไปยังตำแหน่งหน่วยความจำ; มันเป็นเหตุการณ์การส่งข้อความแบบไดนามิก เหตุการณ์การส่งข้อความเมื่อคุณเรียกใช้เมธอด คุณกำลังส่งข้อความไปยัง ผู้รับข้อความนี้ประกอบด้วยชื่อเมธอด พารามิเตอร์ที่เลือกได้ และการเชื่อมโยงบล็อกที่อาจเกิดขึ้น การเชื่อมโยงบล็อก។
1. รูปแบบการเรียกใช้และความคลุมเครือ
รูบีอนุญาตให้มีความยืดหยุ่นสูง: Foo.Bar และ Foo.Bar() เท่ากันโดยสมบูรณ์ อย่างไรก็ตาม Foo::Bar มักหมายถึงค่าคงที่ ในขณะที่ Foo::Bar() บังคับให้เรียกใช้เมธอด วงเล็บมักจะถูกละเลยเพื่อสร้างประสบการณ์คล้ายกับภาษาเฉพาะงาน (DSL) ที่เมธอดดูเหมือนคุณสมบัติ
2. การแยกโครงสร้างของตัวดำเนินการ
ตัวดำเนินการจริง ๆ แล้วคือ เมธอดที่สามารถปรับแต่งใหม่ได้การแสดงออก expr1 + expr2 คือการเขียนย่อแทน (expr1).+(expr2)นี้ใช้กับตัวดำเนินการเอกลักษณ์ (-obj) ตัวดำเนินการทวิภาค (a < b) และตัวดำเนินการแบบหลัง
3. กลไกของคำสั่ง yield
เมธอดใช้ yield เพื่อส่งการไหลของคำสั่งไปยังบล็อกที่เกี่ยวข้อง โดยใช้ Kernel.block_given?เมธอดสามารถตัดสินใจอย่างไดนามิกว่าจะจัดการตรรกะอย่างไร ตามบริบทของผู้เรียกใช้